使用 shutil 處理文件操作
shutil 提供了高級的文件和目錄操作,包括複製、移動、壓縮等功能。
import shutil
shutil.copy("source.txt", "destination.txt")
shutil.move("file.txt", "new_folder/")
這個模組讓你在需要大量文件操作時,可以事半功倍。
getattr() 和 setattr()
這兩個方法讓你可以動態取得和設置對象的屬性,有時候比直接用點操作更靈活。
class Person:
def init(self, name):
self.name = name
p = Person("Alice")
print(getattr(p, "name")) # 取得屬性,輸出:Alice
setattr(p, "name", "Bob") # 設置屬性
print(p.name) # Bob
這樣可以動態操作屬性,適合處理一些不確定的屬性需求。
延遲加載 (Lazy Loading)
有時候我們需要在程式開始時節省內存或加快加載速度,這時可以用 importlib 來延遲加載模組。
import importlib
numpy = importlib.import_module("numpy")
print(numpy.array([1, 2, 3]))
這樣只有當程式需要使用 numpy 時,才會真正去加載它。
call 方法
你可以定義一個類,使其實例像函數一樣被調用。
class Adder:
def init(self, x):
self.x = x
def __call__(self, y):
return self.x + y
add_five = Adder(5)
print(add_five(10)) # 15
這讓你可以將對象變得像函數一樣,可以直接調用。